#ifndef __APP_SERIAL_H__
#define __APP_SERIAL_H__

#include <termios.h>
#include "APP_Device.h"


// 波特率枚举
typedef enum
{
    BR_9600 = B9600,
    BR_115200 = B115200
} SerialBraudRate;

// 校验位枚举
typedef enum
{
    Parity_None = 0, // 无校验位
    Parity_Odd = PARENB | PARODD, // 奇校验位
    Parity_Even = PARENB, // 偶校验位
} SerialParity;

// 停止位枚举
typedef enum
{
    StopBit_One = 0, // 1位停止位
    StopBit_Two = CSTOPB, // 2位停止位
} SerialStopBits;

typedef struct
{
    Device super;
    SerialBraudRate baud_rate;
    SerialParity parity;
    SerialStopBits stop_bits;
} SerialDevice;


//给设备初始化串口配置
int APP_Serial_Init(Device* device);

//设备串口波特率
int APP_Serial_Baudrate(Device* device,SerialBraudRate baudrate);

//设置阻塞模式
int APP_Serial_Block(Device* device,int block);


#endif
